using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
using System.Threading;
using IFRS.Web;

public partial class ReportPages_RPT_IFRS7_18 : PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("th-TH");
            Thread.CurrentThread.CurrentUICulture = new CultureInfo("th-TH");

            // รันปีย้อนหลัง 50 ปี
            //for (int i = DateTime.Now.Year; i >= DateTime.Now.Year - 50; i--)
            //{
            //    ddlYear.Items.Add(new ListItem((i + 543).ToString(), (i + 543).ToString()));
            //}
            //ddlYear.DataBind();

            //// ตัวเลือกกรณีเป็น DropDownLi8
            Utility.BindDropDownList(ref ddlYear, "SELECT 2014 as year_id, 2557 as year_th", "year_id", "year_th");
            ddlYear.DataBind();
        }

    }
    protected void btnPreview_Click(object sender, EventArgs e)
    {
        Report Rep = new Report();
        Rep.ReportName = "/Reports/RP_IFRS7_18";
        string getYear = "";
        int year2 = 0;

        //ส่งค่างวด 3 เดือนตารางที่ 1

        //   String yy = Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "BEGIN_QUARTER");
        //String xx = Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "QUARTER");          
        Rep.Parameters.Add(new ReportParameter("P_DATE", Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "BEGIN_QUARTER")));//เดือน 7/2014
        Rep.Parameters.Add(new ReportParameter("P_DATE2", Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "QUARTER")));//เดือน 9/2014

        //ส่งปี คศ ก่อนหน้า
        getYear = Utility.Reorganizeyear_en(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "Quarter");
        year2 = Convert.ToInt32(getYear) - 1;
        Rep.Parameters.Add(new ReportParameter("P_YEAR", Convert.ToString(year2) + "-10-31"));
        Rep.Parameters.Add(new ReportParameter("P_YEAR2", Convert.ToString(year2) + "-12-31"));

        //ส่งค่างวด 3 เดือนตารางที่ 2  วิธีคิดเช่น ไตรมาสที่3 - ไตรมาสที่ 2
        //ส่งค่า P_DATE,P_DATE2 
        //ส่งค่าปีก่อน ไตรมาส 3 เดือน 7-9
        Rep.Parameters.Add(new ReportParameter("P_YEAR3", Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + (Convert.ToInt32(ddlYear.SelectedValue) - 1), "BEGIN_QUARTER")));//เดือน 7/2013
        Rep.Parameters.Add(new ReportParameter("P_YEAR4", Utility.ReorganizeDateString(ddlQuarter.SelectedValue + "/" + (Convert.ToInt32(ddlYear.SelectedValue) - 1), "QUARTER")));//เดือน 9/2013

        int date3 = 0;
        string getYear3 = "";
        int year3 = 0;
        int year4 = 0;
        date3 = Convert.ToInt32(ddlQuarter.SelectedValue) - 1;
        if (date3 > 0)
        {
            // ตาราง 2 ช่วง 1
            Rep.Parameters.Add(new ReportParameter("P_DATE3", Utility.ReorganizeDateString(date3 + "/" + ddlYear.SelectedValue, "BEGIN_QUARTER")));
            Rep.Parameters.Add(new ReportParameter("P_DATE4", Utility.ReorganizeDateString(date3 + "/" + ddlYear.SelectedValue, "QUARTER")));

            //ส่งค่าของปีก่อน ตาราง 2 ช่วง 1
            Rep.Parameters.Add(new ReportParameter("P_YEAR5", Utility.ReorganizeDateString(date3 + "/" + (Convert.ToInt32(ddlYear.SelectedValue) - 1), "BEGIN_QUARTER")));
            Rep.Parameters.Add(new ReportParameter("P_YEAR6", Utility.ReorganizeDateString(date3 + "/" + (Convert.ToInt32(ddlYear.SelectedValue) - 1), "QUARTER")));

            // ตาราง 2 ช่วง 2 
            Rep.Parameters.Add(new ReportParameter("P_DATE6", Convert.ToString(getYear) + "-01-31"));//2014-01-31
            Rep.Parameters.Add(new ReportParameter("P_DATE7", Utility.ReorganizeDateString(date3 + "/" + ddlYear.SelectedValue, "QUARTER")));

            //ส่งค่าของปีก่อน ตาราง 2 ช่วง 2
            Rep.Parameters.Add(new ReportParameter("P_YEAR8", Convert.ToString(year2) + "-01-31"));//2013-01-31
            Rep.Parameters.Add(new ReportParameter("P_YEAR9", Utility.ReorganizeDateString(date3 + "/" + (Convert.ToInt32(ddlYear.SelectedValue) - 1), "QUARTER")));




        }
        else if (date3 == 0)
        {
            //ตาราง 2 ช่วง 1
            getYear3 = Utility.Reorganizeyear_en(ddlQuarter.SelectedValue + "/" + ddlYear.SelectedValue, "Quarter");
            year3 = Convert.ToInt32(getYear3) - 1;
            year4 = year3 - 1;
            Rep.Parameters.Add(new ReportParameter("P_DATE3", Convert.ToString(year3) + "-10-31"));
            Rep.Parameters.Add(new ReportParameter("P_DATE4", Convert.ToString(year3) + "-12-31"));
            //ปีก่อน ตาราง 2 ช่วง 1

            Rep.Parameters.Add(new ReportParameter("P_YEAR5", Convert.ToString(year4) + "-10-31"));
            Rep.Parameters.Add(new ReportParameter("P_YEAR6", Convert.ToString(year4) + "-12-31"));

            // ตาราง 2 ช่วง 2 
            Rep.Parameters.Add(new ReportParameter("P_DATE6", Convert.ToString(year3) + "-01-31"));//2013-01-31          
            Rep.Parameters.Add(new ReportParameter("P_DATE7", Convert.ToString(year3) + "-12-31"));

            //ส่งค่าของปีก่อน ตาราง 2 ช่วง 2
            Rep.Parameters.Add(new ReportParameter("P_YEAR8", Convert.ToString(year4) + "-01-31"));
            Rep.Parameters.Add(new ReportParameter("P_YEAR9", Convert.ToString(year4) + "-12-31"));


        }
        //ส่งค่างวด 9 เดือนตารางที่ 1(ช่วงที่ 2)
        //ใช้ P_DATE2 คือไตรมาส เช่น 31/03/2014
        Rep.Parameters.Add(new ReportParameter("P_DATE5", Convert.ToString(getYear) + "-01-31"));//2014-01-31 
        Rep.Parameters.Add(new ReportParameter("P_YEAR7", Convert.ToString(year2) + "-01-31"));//2013-01-31

        //ส่งค่างวด 9 เดือนตารางที่ 2(ช่วงที่ 2)
        //ใช้ ,P_DATE5 = 31/01/2014 , P_DATE2 คือไตรมาส เช่น 31/03/2014
        //ปีก่อนหน้า  P_YEAR7, P_YEAR4


        frameReport.Attributes.Add("src", Rep.CreatePreview());
        frameReport.Attributes.Add("height", "800px");
    }
}